package com.wang.jmonkey.common.model.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.wang.jmonkey.common.model.enums.BooleanEnum;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @Description 基础实体信息
 * @Author HeJiawang
 * @Date 2021/5/10 16:03
 */
@Data
@Accessors(chain = true)
public abstract class BaseEntity<T extends BaseEntity<?>> extends Model<T> {

    /**
     * 创建人id
     */
    @TableField(fill = FieldFill.INSERT)
    protected Long createdBy;

    /**
     * 创建时间，yyyyMMddHHmmss
     */
    @TableField(fill = FieldFill.INSERT)
    protected Long createdTime;

    /**
     * 修改人id
     */
    @TableField(fill = FieldFill.UPDATE)
    protected Long updatedBy;

    /**
     * 最后修改日期
     */
    @TableField(fill = FieldFill.UPDATE)
    protected Long updatedTime;

    /**
     * 使用状态 1已删除 0未删除
     */
    @TableLogic
    protected BooleanEnum deletedStatus;
}
